package com.ruoyi.business.mapper;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.business.domain.Task;
import com.ruoyi.business.model.TaskExportModel;
import com.ruoyi.business.request.ApiTaskReq;
import com.ruoyi.business.request.TaskExportReq;
import com.ruoyi.business.response.ApiTaskPointRes;
import com.ruoyi.business.response.ApiTaskRes;
import com.ruoyi.business.response.TaskExportRes;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 任务Mapper接口
 *
 * @author Eric
 * @date 2024-03-17
 */
@Mapper
public interface TaskMapper extends BaseMapper<Task> {

    List<ApiTaskRes> pageTaskList(ApiTaskReq req);

    List<ApiTaskPointRes> getTaskPointByPlanId(@Param("planId") Long planId, @Param("userId") Long userId);

    List<TaskExportModel> getExportList(TaskExportReq req);

    List<ApiTaskPointRes> getTaskUserPointApi(@Param("researchPlanId") Long researchPlanId, @Param("userId") Long userId);

    List<Map<String, Object>> getPlanTaskUser(@Param("researchPlanId") Long researchPlanId, @Param("userId") Long userId);

    List<Map<String, Object>> selectTaskUser(@Param("researchPlanId") Long researchPlanId);

}
